package org.jsola.hr.dao;

import org.apache.ibatis.annotations.Param;
import org.jsola.hr.entity.GroupCompanyDO;
import org.jsola.hr.query.GroupCompanyQuery;
import org.jsola.hr.vo.CompanyVO;
import org.jsola.orm.mapper.IJsolaMapper;
import org.springframework.stereotype.Repository;

import java.util.List;


/**
 * 子公司分管公司关系表
 *
 * @author zhr
 */
@Repository("hrGroupCompanyDAO")
public interface IGroupCompanyDAO extends IJsolaMapper<GroupCompanyDO> {

    /**
     * 查询分组下的直属用工单位集合
     * @param groupId
     * @param siteId
     * @return
     */
    List<CompanyVO> companyListByGroupId(@Param("groupId") String groupId, @Param("siteId") String siteId);

    /**
     * 查询分组下所有用工单位集合
     * @param groupIds
     * @param siteId
     * @return
     */
    List<CompanyVO> companyListByGroupIds(@Param("groupIds") List<String> groupIds, @Param("siteId") String siteId);

    /**
     * 租户下直属的用工单位集合
     * @param siteId
     * @return
     */
    List<CompanyVO> companyListBySiteId(String siteId);

    List<CompanyVO> companyListByGroupIdsOrCompanyIds(@Param("groupIds")List<String> allGroupIds,
                                           @Param("companyIds")List<String> companyIds,
                                           @Param("siteId")String siteId);
}

